#include <iostream>
using namespace std;
//继续3n+1猜想
const int N = 100;
int K[N];             // 控制台输入的数列
int K_hash[N];        // K 哈希
int pivotal[N];       // 关键数列表
int pivotal_hash[N];  // 关键数hash列表
int pivotal_count;

int temp[N][N * 100];             //K 每个数产生的数组
int temp_hash_A[N][N * 100];      //K 每个数产生的数组哈希

void test(int a,int index){
    int count_step = 0;
    while(a != 1){
        if(a % 2 == 0){
            a = a/2;
            //将结果存入代取数组
        }else{
            a = (3*a+1)/2;
            //将结果存入代取数组
        }
        temp[index][count_step] =  a;
        count_step++;
    }
}


int main(int argc, char const *argv[])
{
    int a;
    cin >> a;
    //输入
    for(int i =0; i < a; i++){
        cin >> K[i];
        test(K[i], i);
    }

    //K hash 列表
    for(int i = 0; i < a; i++ ){
        K_hash[K[i]] = i;
        for(int j = 0; j < sizeof(temp[i])/sizeof(temp[i][0]); j++){
            temp_hash_A[K[i]][temp[i][j]] = j;
        }
    }

    //初始化关键数
    pivotal[0] = K[0];
    pivotal_hash[K[0]] = 0;
    // 处理 
    for(int i = 1; i < a; i++){
        for(int j = 1; j < sizeof(temp)/sizeof(temp[0]); j++){
            if((sizeof(temp[i])/sizeof(temp[i][0])) > (sizeof(temp[i-1])/sizeof(temp[i-1][0]))){
                if(temp[i-1][0] == temp_hash_A[i][temp[i-1][0]]){
                    pivotal[pivotal_count] =  K[i];
                }else{
                    pivotal_count++;
                    pivotal[pivotal_count] = K[i];
                    //输出hash
                    pivotal_hash[K[pivotal_count]] = pivotal_count;
                }
            }else{
                 if(temp[i][0] == temp_hash_A[i-1][temp[i][0]]){
                    pivotal[pivotal_count] =  K[i-1];
                }else{
                    pivotal_count++;
                    pivotal[pivotal_count] = K[i];
                    //输出hash
                    pivotal_hash[K[pivotal_count]] = pivotal_count;
                }
            }
        }
    }
    //输出 
    for(int i = 0; i < sizeof(pivotal)/sizeof(pivotal[0]); i++){
        cout << pivotal[i] << " "; 
    }
    return 0;
}
